home *** CD-ROM | disk | FTP | other *** search
- unit MultiReadExclusiveWrite;
-
- interface
-
- uses
- Classes,Windows,SysUtils,Messages,syncobjs;
-
- type
- TAnyObject=class(TObject)
- private
- fMultiReadExclusiveWrite:TMultiReadExclusiveWriteSynchronizer;
- fStatus:string;
- function GetStatus: string;
- procedure SetStatus(const Value: string);
- public
- constructor Create;
- destructor Destroy;override;
- property Status:string read GetStatus write SetStatus;
- end;
-
- implementation
-
- constructor TAnyObject.Create;
- begin
- inherited create;
- fMultiReadExclusiveWrite:=TMultiReadExclusiveWriteSynchronizer.Create;
- end;
-
- destructor TAnyObject.Destroy;
- begin
- FreeAndNil(fMultiReadExclusiveWrite);
- inherited;
- end;
-
- function TAnyObject.GetStatus: string;
- begin
- fMultiReadExclusiveWrite.BeginRead;
- try
- Result:=fStatus;
- finally
- fMultiReadExclusiveWrite.EndRead;
- end;
- end;
-
- procedure TAnyObject.SetStatus(const Value: string);
- begin
- fMultiReadExclusiveWrite.BeginWrite;
- try
- fStatus:=Value;
- finally
- fMultiReadExclusiveWrite.EndWrite;
- end;
- end;
-
- end.
-